import path from 'path';
import { getBaseDir } from 'ee-core/ps';
import { type AppConfig } from 'ee-core/config';

const config: () => AppConfig = () => {
  return {
    openDevTools: true,
    singleLock: true,
    windowsOption: {
      title: 'wallpaper', // 软件顶部或左上角名称
      width: 1200, // 软件窗口宽度
      height: 800, // 软件窗口宽度
      minWidth: 800, // 软件窗口最小宽度
      minHeight: 650, // 软件窗口最小高度
      webPreferences: {
        contextIsolation: false, // false -> 才可在渲染进程中使用electron的api，true->需要bridge.js(contextBridge)
        nodeIntegration: true // node模块
      },
      // frame: false, // 顶部标题栏及菜单栏
      show: true,
      icon: path.join(getBaseDir(), 'public', 'images', 'logo-32.png')
    },
    logger: {
      level: 'INFO',
      outputJSON: false,
      appLogName: 'ee.log',
      coreLogName: 'ee-core.log',
      errorLogName: 'ee-error.log'
    },
    remote: {
      enable: false, // 是否启用
      url: 'https://bidding-m.gitee.io/mapbox-test/'
    },
    socketServer: {
      enable: true, // 是否启用
      port: 7070, // 默认端口
      path: '/socket.io/', // 默认路径名称
      connectTimeout: 45000, // 客户端连接超时时间
      pingTimeout: 30000, // 心跳检测超时时间
      pingInterval: 25000, // 心跳检测间隔
      maxHttpBufferSize: 1e8, // 每条消息的数据最大值 1M
      transports: ['polling', 'websocket'], // http轮询和websocket
      cors: {
        origin: true // http协议时，要设置允许跨域
      },
      channel: 'socket-channel'
    },
    httpServer: {
      enable: true, // 是否启用
      https: {
        enable: false,
        key: '/public/ssl/localhost+1.key', // key文件
        cert: '/public/ssl/localhost+1.pem' // cert文件
      },
      host: '127.0.0.1',
      port: 7071 // 默认端口（如果端口被使用，则随机获取一个）
    },
    mainServer: {
      indexPath: '/public/dist/index.html'
    }
  };
};

export default config;
